package com.cn.algorithm.leetcode.array.two;

/*
*
*
* 最后一个单词的长度
*给你一个字符串 s，由若干单词组成，单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大
子字符串
。



示例 1：

输入：s = "Hello World"
输出：5
解释：最后一个单词是“World”，长度为 5。
示例 2：

输入：s = "   fly me   to   the moon  "
输出：4
解释：最后一个单词是“moon”，长度为 4。
示例 3：

输入：s = "luffy is still joyboy"
输出：6
解释：最后一个单词是长度为 6 的“joyboy”。


提示：

1 <= s.length <= 104
s 仅有英文字母和空格 ' ' 组成
s 中至少存在一个单词
*
* */
public class LastWordLength {

    public static void main(String[] args) {
        String s = "   fly me   to   the moon  ";
        System.out.println(lengthOfLastWord(s));
    }



    public static int lengthOfLastWord2(String s) {
        String[] arr = s.split(" ");
        int len = 0;
        for (int i = arr.length - 1; i >= 0; i--) {
            if (arr[i] == ""){
                continue;
            }
            len = arr[i].length();
            break;
        }
        return len;
    }


    public static int lengthOfLastWord(String s) {
        int lastIndex = s.length() - 1;
        while (lastIndex >= 0 && s.charAt(lastIndex) == ' ') { //找出最后一个单词不是空格字符的末尾位置
            lastIndex--;
        }
        int len = 0;
        while (lastIndex >= 0 && s.charAt(lastIndex) != ' ') {
            lastIndex--;
            len++;
        }
        return len;
    }



}
